package org.example.quartz.job;

import org.quartz.Job;

/**
 * 
 * 定时任务管理器
 *
 * @author liuwp
 * @date 2018年12月21日上午11:31:54
 * @version 1.0.0
 */
public interface JobManager {
    /**
     * 增加任务
     * 
     * @param id       任务id
     * @param cron     表达式
     * @param jobclass 任务class
     * @throws JobException
     */
    void addJob(String id, String cron, Class<? extends Job> jobclass) throws JobException;

    /**
     * 移除任务
     * 
     * @param id 任务id
     */
    void removeJob(String id) throws JobException;

    /**
     * 修改任务
     * 
     * @param id   任务主键
     * @param cron 表达式
     */
    void modifyJob(String id, String cron) throws JobException;

    /**
     * 获取jobid列表
     * 
     * @return jobid列表
     * @throws JobException
     */
    String[] getJobIds() throws JobException;
}
